package models

// Subsystem 定义 NVMe-oF 子系统的结构
type Subsystem struct {
    NQN           string         `json:"nqn"`
    SerialNumber  string         `json:"serial_number"`
    ListenAddresses []ListenAddress `json:"listen_addresses"`
    Namespaces    []Namespace    `json:"namespaces"`
    Hosts         []string       `json:"hosts"`
    State         string         `json:"state"`          // 子系统状态
    MaxNamespaces int            `json:"max_namespaces"` // 最大命名空间数量
    MaxHosts      int            `json:"max_hosts"`      // 最大主机数量
}

// ListenAddress 定义子系统的监听地址
type ListenAddress struct {
    Transport string `json:"transport"` // 传输类型（如 RDMA、TCP）
    Address   string `json:"address"`   // 监听地址（IP 地址）
    Port      string `json:"port"`      // 监听端口
}

// Namespace 定义子系统的命名空间
type Namespace struct {
    NSID      int    `json:"nsid"`      // 命名空间的 ID
    BdevName  string `json:"bdev_name"` // 关联的逻辑卷名称
}